<script setup>
	import {
		onLaunch,
		onShow,
		onHide
	} from '@dcloudio/uni-app'
	import {
		useUserIm
	} from '@/stores/userIm'
	import {
		useUserStore
	} from '@/stores/userInfo'
	import {
		ref
	} from 'vue'
	import checkUpdate from '@/uni_modules/uni-upgrade-center-app/utils/check-update.js'
	const IM = useUserIm()
	const useUser = useUserStore()
	onLaunch(() => {
		if (uni.getStorageSync('token')) {
			useUser.getUserInfo()
		}
		// #ifdef MP-WEIXIN
		UpdateManager()
		// #endif
		// #ifdef APP-PLUS
		let timer = false
		// 检测APP版本更新
		checkUpdate()
		plus.screen.lockOrientation('portrait-primary'); //锁定屏幕
		// 监听推送回调
		uni.onPushMessage((res) => {
			if (res.type == 'receive') {
				plus.push.createMessage(res.data.content, res.data.payload.content, {
					title: res.data.title,
					sound: 'system',
					cover: false
				})
				// uni.createPushMessage({
				// 	title: res.data.title,
				// 	content: res.data.content,
				// 	payload: res.data.payload.content,
				// 	success: (res) => {},
				// 	fail: (res) => {}
				// })
			} else {
				clearTimeout(timer);
				timer = setTimeout(() => {

				}, 1000)
			}
		});
		// #endif
		// 初次进入APP 跳转选择身份页面
		if (!uni.getStorageSync('utype')) {
			uni.reLaunch({
				url: '/pages/login/status',
				success: () => {
					// #ifdef APP-PLUS
					plus.navigator.closeSplashscreen();
					// #endif
				}
			})
		} else {
			if (uni.getStorageSync('next_code') == 50005) { //简历信息不完整
				uni.reLaunch({
					url: 'pages/pagesPersonal/myResume/myResume',
					success: () => {
						// #ifdef APP-PLUS
						plus.navigator.closeSplashscreen();
						// #endif
					}
				})
			} else if (uni.getStorageSync('next_code') == 50007) { //没有简历信息
				uni.reLaunch({
					url: 'pages/pagesPersonal/Initial/Initial',
					success: () => {
						// #ifdef APP-PLUS
						plus.navigator.closeSplashscreen();
						// #endif
					}
				})
			} else {
				// #ifdef APP-PLUS
				plus.navigator.closeSplashscreen()
				// #endif
			}

		}
	})
	onShow(() => {
		// 是否登录 登录则开启聊天   是否已建立聊天 1为连接已建立
		if (uni.getStorageSync('token') && IM.ws.readyState != 1) return IM.imWindowGlobal()
	})
	onHide(() => {
		clearInterval(IM.timer)
	})
	const UpdateManager = () => {
		if (uni.canIUse('getUpdateManager')) {
			const updateManager = uni.getUpdateManager();
			updateManager.onCheckForUpdate(res => {
				if (res.hasUpdate) {
					wx.showModal({
						title: '更新提示',
						content: '检测到新版本，是否下载新版本并重启小程序？',
						success: function(res) {
							if (res.confirm) {
								//2. 用户确定下载更新小程序，小程序下载及更新静默进行
								downLoadAndUpdate(updateManager)
							} else if (res.cancel) {
								//用户点击取消按钮的处理，如果需要强制更新，则给出二次弹窗，如果不需要，则这里的代码都可以删掉了
								wx.showModal({
									title: '温馨提示~',
									content: '本次版本更新涉及到新的功能添加，旧版本无法正常访问的哦~',
									showCancel: false, //隐藏取消按钮
									confirmText: "确定更新", //只保留确定更新按钮
									success: function(res) {
										if (res.confirm) {
											//下载新版本，并重新应用
											downLoadAndUpdate(updateManager)
										}
									}
								})
							}
						}
					})
				}
			})
		} else {
			// 如果希望用户在最新版本的客户端上体验您的小程序，可以这样子提示
			uni.showModal({
				title: '提示',
				content: '当前微信版本过低，无法使用该功能，请升级到最新微信版本后重试。'
			})
		}
	}
</script>
<style lang="scss">
	@import '@/uni_modules/vk-uview-ui/index.scss';

	::-webkit-scrollbar {
		/* 隐藏滚动条，但依旧具备可以滚动的功能 */
		display: none !important;
		width: 0 !important;
		height: 0 !important;
		-webkit-appearance: none !important;
		background: transparent !important;
		color: transparent !important;
	}
</style>